home *** CD-ROM | disk | FTP | other *** search
/ Nebula 1 / Nebula One.iso / Utilities / BenchMarks / ByteBenchmark / README < prev    next >
Text File  |  1994-01-27  |  7KB  |  159 lines

  1. Version 3.6 -- 5/15/91  19:30:16
  2.  
  3. ================================================================
  4. To use the new BYTE Unix Benchmarks:
  5.  
  6.    make 
  7.    Run
  8.  
  9. ================================================================
  10. You may run individual benchmark programs and groups of programs.
  11. There are also a few options.
  12.  
  13.   Run [<bench> ...] [<group> ...] [-qvd]
  14.  
  15.     -q    quiet        no output to standard out
  16.     -v    verbose        extra output to standard out
  17.     -d    debug        Run is displayed as it is run
  18.  
  19.      GROUP    BENCHMARK    EXPLANATION        SOURCE
  20.      --------   -----------    --------------------    -------------
  21.      index                      only those need for 
  22.                                 generating the BYTE
  23.                                 index
  24.         double        double arithmetic    src/arith.c
  25.         dhry2        dhrystone 2 w/o regs    src/dhry_1.c
  26.                             src/dhry_2.c
  27.                             src/dhry.h
  28.         execl        execl call        src/execl.c
  29.                             src/big.c
  30.         fstime        filesystem throughput    src/fstime.c
  31.         pipe        pipe throughput        src/pipe.c
  32.         shell       load system with    pgms/multi.sh
  33.                   concurrent shell    pgms/tst.sh
  34.                   scripts        src/looper.c
  35.      arithmetic
  36.         arithoh        arithmetic overhead     src/arith.c
  37.         register    register arithmetic    src/arith.c
  38.         short        short arithmetic    src/arith.c
  39.         int        int arithmetic        src/arith.c
  40.         long        long arithmetic        src/arith.c
  41.         float        float arithmetic    src/arith.c
  42.         double        double arithmetic    src/arith.c
  43.      system
  44.         syscall        system call overhead    src/syscall.c
  45.         pipe        pipe throughput        src/pipe.c
  46.         context1    pipe context switch    src/context1.c
  47.         spawn        process creation    src/spawn.c
  48.         execl        execl call        src/execl.c
  49.         fstime        filesystem throughput    src/fstime.c
  50.      misc
  51.         C        compile and link    /bin/cc
  52.                             src/looper.c
  53.         dc        calculations with dc    testdir/dc.dat
  54.                             src/looper.c
  55.         hanoi        recursion         src/hanoi.c
  56.                             src/looper.c
  57.      dhry
  58.         dhry2        dhrystone 2 w/o regs    src/dhry_1.c
  59.                             src/dhry_2.c
  60.                             src/dhry.h
  61.         dhry2reg    dhrystone 2 with regs    src/dhry_1.c
  62.                             src/dhry_2.c
  63.                             src/dhry.h
  64.         shell       load system with    pgms/multi.sh
  65.                   concurrent shell    pgms/tst.sh
  66.                   scripts
  67.                         ** Most C programs also include src/timeit.c
  68.  
  69. ===================== RELEASE NOTES =====================================
  70.  
  71. ========================  May 91 ==========================
  72. This is version 3. This set of programs should be able to determine if
  73. your system is BSD or SysV. (It uses the output format of time (1)
  74. to see. If you have any problems, contact me (by email,
  75. preferably): ben@bytepb.byte.com
  76.  
  77. ---
  78.  
  79. The document doc/bench.doc describes the basic flow of the
  80. benchmark system. The document doc/bench3.doc describes the major
  81. changes in design of this version. As a user of the benchmarks,
  82. you should understand some of the methods that have been
  83. implemented to generate loop counts:
  84.  
  85. Tests that are compiled C code:
  86.   The function wake_me(second, func) is included (from the file
  87. timeit.c). This function uses signal and alarm to set a countdown
  88. for the time request by the benchmark administration script
  89. (Run). As soon as the clock is started, the test is run with a
  90. counter keeping track of the number of loops that the test makes.
  91. When alarm sends its signal, the loop counter value is sent to stderr
  92. and the program terminates. Since the time resolution, signal
  93. trapping and other factors don't insure that the test is for the
  94. precise time that was requested, the test program is also run
  95. from the time (1) command. The real time value returned from time
  96. (1) is what is used in calculating the number of loops per second
  97. (or minute, depending on the test).  As is obvious, there is some
  98. overhead time that is not taken into account, therefore the
  99. number of loops per second is not absolute. The overhead of the
  100. test starting and stopping and the signal and alarm calls is
  101. common to the overhead of real applications. If a program loads
  102. quickly, the number of loops per second increases; a phenomenon
  103. that favors systems that can load programs quickly. (Setting the
  104. sticky bit of the test programs is not considered fair play.)
  105.  
  106. Test that use existing UNIX programs or shell scripts:
  107.   The concept is the same as that of compiled tests, except the
  108. alarm and signal are contained in separate compiled program,
  109. looper (source is looper.c). Looper uses an execvp to invoke the
  110. test with its arguments. Here, the overhead includes the
  111. invocation and execution of looper.
  112.  
  113. --
  114.  
  115. The index numbers are generated from a baseline file that is in
  116. pgms/index.base. You can put tests that you wish in this file.
  117. All you need to do is take the results/log file from your
  118. baseline machine, edit out the comment and blank lines, and sort
  119. the result (vi/ex command: 1,$!sort). The sort in necessary
  120. because the process of generating the index report uses join (1).
  121. You can regenerate the reports by running "make report."
  122.  
  123. --
  124.  
  125. ========================= Jan 90 =============================
  126. Tom Yager has joined the effort here at BYTE; he is responsible
  127. for many refinements in the UNIX benchmarks.
  128.  
  129. The memory access tests have been deleted from the benchmarks.
  130. The file access tests have been reversed so that the test is run
  131. for a fixed time. The amount of data transfered (written, read,
  132. and copied) is the variable. !WARNING! This test can eat up a
  133. large hunk of disk space.
  134.  
  135. The initial line of all shell scripts has been changed from the
  136. SCO and XENIX form (:) to the more standard form "#! /bin/sh".
  137. But different systems handle shell switching differently. Check
  138. the documentation on your system and find out how you are
  139. supposed to do it. Or, simpler yet, just run the benchmarks from
  140. the Bourne shell. (You may need to set SHELL=/bin/sh as well.)
  141.  
  142. The options to Run have not been checked in a while. They may no
  143. longer function. Next time, I'll get back on them. There needs to
  144. be another option added (next time) that halts testing between
  145. each test. !WARNING! Some systems have caches that are not getting flushed
  146. before the next test or iteration is run. This can cause
  147. erroneous values. 
  148.  
  149. ========================= Sept 89 =============================
  150. The database (db) programs now have a tuneable message queue space.
  151. queue space. The default set in the Run script is 1024 bytes.
  152. Other major changes are in the format of the times. We now show
  153. Arithmetic and Geometric mean and standard deviation for User
  154. Time, System Time, and Real Time. Generally, in reporting, we
  155. plan on using the Real Time values with the benchs run with one
  156. active user (the bench user). Comments and arguments are requested.
  157.  
  158. contact: BIX bensmith or rick_g
  159.